package com.crm.common.crm.entity.BO;

import com.crm.common.annotation.Excel;
import com.fasterxml.jackson.annotation.JsonFormat;

import java.math.BigDecimal;
import java.util.Date;

import lombok.Data;

@Data
public class BillCrmLoanOrderDetailBO {
    private static final long serialVersionUID = 1L;


    /**
     * 佣金比例
     */
    private Long commissionRate;

    /**
     * 分销人
     */
    private Long fxUserId;

    /**
     * 佣金
     */
    private BigDecimal commission;

    /** 订单明细主键 */
    private Long detailId;


    @Excel(name = "订单编号")
    private String orderNum;

    @Excel(name = "主订单编号")
    private String orderNumMaster;

    /** 贷款申请id */
    private Long applicationId;

    /** 订单主键 */
    private Long orderId;

    /** 学员id */
    private Long userId;

    @Excel(name = "学员真实姓名")
    private String realName;

    @Excel(name = "学员身份证号码")
    private String card;

    /** 手机号 */
    @Excel(name = "手机号")
    private String userPhone;

    /** 课程Id */
    private Long curriculumId;

    /** 课程名称 */
    @Excel(name = "课程名称")
    private String curriculumName;

    /** 分期类型 0账单分期 1全额贷款 */
    @Excel(name = "分期类型 0账单分期 1全额贷款")
    private Integer installType;

    /** 还款期数 */
    @Excel(name = "还款期数")
    private Integer periods;

    /** 贷款金额 */
    @Excel(name = "贷款金额")
    private BigDecimal loanMoney;

    /** 贷款总额 */
    @Excel(name = "贷款总额")
    private BigDecimal totalLoansMoney;

    /** 应还金额 */
    @Excel(name = "应还金额")
    private BigDecimal repaymentDueMoney;

    /** 实际还款金额 */
    @Excel(name = "实际还款金额")
    private BigDecimal actualRepaymentMoney;

    /** 平台服务费 */
    @Excel(name = "平台服务费")
    private BigDecimal serviceCharge;

    /** 课程服务费 */
    private BigDecimal courseServiceFee;

    /** 还款状态：1还款中,2已还清,3已逾期,4已代偿,5已退学 */
    @Excel(name = "还款状态：1还款中,2已还清,3已逾期,4已代偿,5已退学")
    private Integer repaidStatus;

    /** 还款状态：1还款中,2已还清,3已逾期,4已退学 */
    @Excel(name = "还款状态：1还款中,2已还清,3已逾期,4已退学")
    private Integer studentRepaidStatus;

    /** 应还款时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "应还款时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date repaymentDueDate;

    /** 实际还款时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "实际还款时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date actualRepaymentDate;

    /** 创建人 */
    private Long createUserId;

    /** 更新人 */
    private Long updateUserId;

    /** 备注 */
    @Excel(name = "备注")
    private String remarks;

    @Excel(name = "逾期时间")
    private Date overdueDate;

    @Excel(name = "逾期天数")
    private Integer overdueDaysNum;

    private Long prepaymentId;

    @Excel(name = "第几期")
    private Integer repayPeriods;

    @Excel(name = "机构名称")
    private String orgName;

    /** 创建时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date createTime;

    /** 更新时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date updateTime;

    @Excel(name = "三方划扣订单号")
    private String payNo;

    private Integer prepaymentStatus;

    /**
     * 三方信用Id
     */
    private Long sid;

    /**
     * 是否需要电审
     */
    private Integer needTeleexamination;

    /**
     * 风险提示： 0 正常 1 高风险
     */
    private Integer riskLevel;

    /**
     * 每期本金金额
     */
    private BigDecimal costMoney;

    /**
     * 服务费类型 0机构承担，1用户承担
     */
    private Integer serviceChargeType;

    /**
     * 分润状态，0未分润 1已分润
     */
    private Integer moistenStatus;
    /**
     * 逾期延期时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date delayDay;

    /**
     * 逾期延期  0否 1是
     */
    private Integer overdueDelay;

    /**
     * 催收标记，0不催收，1催收
     */
    private Integer collectionMark;

    /**
     * 是否主动支付  0否 1是
     */
    private Integer payment;

    /**
     * 支付类型，1微信，2支付宝
     */
    private Integer payType;

    /**
     * 行为风险： 0 正常 1 行为高风险
     */
    private Integer behaviorRisk;

    /**
     * 合并订单id
     */
    private Long mergeId;
}
